<?php
namespace Api\Controller;
use Think\Controller;
class IndexController extends Controller {

    // 新增图片
    public function addPic(){
        header("Access-Control-Allow-Origin: ".$_POST['domain']);       //允许该域名发起请求
        $post = I('post.');
        if($post){
            IF($_FILES['pic']){
                // 调用上传图片的方法
                $info = $this->upload($_FILES['pic'],'');
                // 将图片信息（路径、添加时间、图片比例）存储到数据库
                $data['url'] = 'http://imgs.xiangtws.com/Public/Uploads/'.$info['savename'];    // 完整的图片路径
                $data['addtime'] = time();
                $data['proportion'] = $post['proportion'];
                $res = M('list')->add($data);
                // 返回图片路径
                $this->ajaxReturn($data['url']);
            }// end if
        }// end if

    }// end fun

    // 图片管理-编辑图片
    public function editPic(){
        header("Access-Control-Allow-Origin: ".$_POST['domain']);       //允许该域名发起请求
        $post = I('post.');
        if($post){
            if($_FILES['pic']){
                $url = M('list')->where(array('id'=>$post['id']))->find();    //$url = 'http://imgs.xiangtws.com/Public/Uploads/59b25bcfcaac6.jpg'
                $savename = substr($url['url'], 40);   //$str = '9b25bcfcaac6.jpg'
                $_FILES['pic']['name'] = $savename;         //保持原图片名不变
                // 调用上传图片的方法
                $info = $this->upload($_FILES['pic'],1);
                $return_url = 'http://imgs.xiangtws.com/Public/Uploads/'.$info['savename'];
                $this->ajaxReturn($return_url);
            }else{
                $this->error('没有图片信息');
            }// end if

        }else{
            $this->error('非法进入');
        }
    }// end fun

    // 删除图片
    public function del_pic(){
        $pic = M('list');
        $url = I('url');        //完整的图片路径 $url = 'http://imgs.xiangtws.com/Public/Uploads/5aefbe66a4269.jpeg'
        //获取图片信息
        $picInfo = $pic->where(array('url'=>$url))->find();
        if($picInfo){
            //获取$url有效字段（去掉网址）
            $str = substr($url, 25);    //$str = 'Public/Uploads/9b25bcfcaac6.jpg'
            //file文件路径
            $filename = './'.$str;  //$filename = './Public/Uploads/9b25bcfcaac6.jpg'
            if(file_exists($filename)){
                $res = $pic->delete($picInfo);  //删除数据库内信息
                unlink($filename);              //删除图片存储目录下的文件
            }else{
                $this->error('原图片不存在');
            }// end if
        }else{
            $this->error('原图片不存在');
        }// end if

    }// end fun


    // 通用图片上传  $pic：上传图片的信息组；$savename 原图片名称
    public function upload($pic,$savename){
        $upload = new \Think\Upload();  // 实例化上传类
        $upload->maxSize   =  3145728 ; // 设置附件上传大小
        $upload->exts      =  array('jpg', 'gif', 'png', 'jpeg');   // 设置附件上传类型
        $upload->rootPath  =  './Public/Uploads/';   // 设置附件上传根目录
        $upload->replace   = true;      //同名文件直接覆盖
        if($savename!=''){ //修改时，图片存储名称不变
            $upload->saveName  =  '';
            $upload->autoSub = false;   //不上传到子目录
        }
        // 上传文件
        $info   =   $upload->uploadOne($pic);
        if(!$info) {// 上传错误提示错误信息
            $this->error($upload->getError());
        }else {// 上传成功
            return $info;
        }
    }


}